package chatBot.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 工具类，用于检查某些参数的格式输入是否正确，避免非法请求到达数据库

 */
public class FormatChecker {

    private static final String CODE_PATTERN = "\\d{4}";

    // 正则表达式用于匹配电子邮件地址
    private static final String EMAIL_PATTERN =
            "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

    /**
     * 判断给定的字符串是否为有效的电子邮件地址。
     *
     * @param email 待验证的字符串
     * @return 如果字符串是有效的电子邮件地址，则返回true；否则返回false。
     */
    public static boolean isValidEmail(String email) {
        if (email == null) {
            return false;
        }
        Pattern pattern = Pattern.compile(EMAIL_PATTERN);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }
    /**
     * @param str 字符串
     * @return str是否为验证码
     */
    public static boolean isCode(String str) {
        if (str == null) {
            return false;
        }
        Pattern pattern = Pattern.compile(CODE_PATTERN);
        Matcher match = pattern.matcher(str);
        return match.matches();
    }
}
